﻿#define _CRT_SECURE_NO_WARNINGS
//1.防止头文件重复包含；
#pragma once

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

struct ConfigInfo
{
	char key[64];
	char val[128];
};

//2.目的是为了在C++中，能够调用C写的函数；
#ifdef __cplusplus
extern "C"
{
#endif

	//3.获得配置文件的有效行数；
	int getLines_ConfigFile(FILE* file);
	//4.加载配置文件；
	void loadFile_ConfigFile(const char* filePath, char*** fileData, int* lines);
	//5.解析配置文件；
	void parseFile_ConfigFile(char** fileData, int lines, struct ConfigInfo** info);
	//6.获得指定配置信息；
	char* getInfo_ConfigFile(const char* key, struct ConfigInfo* info, int line);
	//7.释放配置文件信息；
	void destroyInfo_ConfigFile(struct ConfigInfo* info);
	//8.判断当前行是否有效；
	int isValid_ConfigFile(const char* buf);

#ifdef __cplusplus
}
#endif
